<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="app">
			<cpn></cpn>
			<cpn></cpn>
			<cpn></cpn>
		</div>
		<template id="cpn">
			<div>
				<h2>我是计数器:{{counter}}</h2>
				<button @click="increment">+</button>
				<button @click="decrement">-</button>
			</div>
		</template>
		<script src="../vue.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">

		
			const obj = {
				counter:0
			};
			Vue.component("cpn", {
				template: '#cpn',
				data() {
					return {
						counter: 0
					}
					// return obj //如果 组件中返回的是这个对象  会对调用这个对象的组件产生影响
					
					//Vue 让每个组件对象都返回一个新的对象，因为如果是同一个对象的，组件在多次使用后会相互影响
				},
				methods: {
					increment() {
						return this.counter++
					},
					decrement() {
						return this.counter--
					}
				}
			})
			const app = new Vue({
				el: '#app',
				data: {
					message: 'hello'
				}
			});
		</script>
	</body>
</html>
